==============
Экспорт/импорт
==============

Пакет ``ManagedIrbis5`` содержит функции, необходимые для экспорта и импорта записей в как в текстовом формате, принятом в системах ИРБИС32 и ИРБИС64, так и в международном формате ISO2709.

Текстовый экспорт/импорт
========================

Текстовый обменный формат специфичен для ИРБИС, он не поддерживается другими библиотечными системами.

Вот как выглядит типичный файл в обменном формате ИРБИС:

::

  #920: SPEC
  #102: RU
  #101: rus
  #606: ^AХУДОЖЕСТВЕННАЯ ЛИТЕРАТУРА (ПРОИЗВЕДЕНИЯ)
  #919: ^Arus^N02  ^KPSBO^Gca
  #60: 10
  #961: ^ZДА^AШукшин^BВ. М.^GВасилий Макарович
  #210: ^D1998
  #610: РУССКАЯ ЛИТЕРАТУРА
  #610: РАССКАЗЫ
  #1119: 7ef4c9af-f1d3-4adc-981b-5012463155a1
  #900: ^B03^C11a^Xm^Ta
  #215: ^A528^3в пер.
  #200: ^VКн. 3^AСтранные люди
  #10: ^A5-86150-048-7^D80
  #907: ^CПК^A20180613^BNovikovaIA
  #461: ^CСобрание сочинений : в 6 кн.^FВ. М. Шукшин^GНадежда-1^H1998^Z1998^XШукшин, Василий Макарович^DМосква^U1
  #903: -051259089
  #910: ^A0^B1759089^DФ104^U2018/45^Y45^C20180607
  #905: ^21^D1^J1^S1
  *****

**Функция ReadTextRecord** определена следующим образом:

.. code-block:: c++

  // TO BE DONE

Она принимает в качестве аргумента текстовый поток, считывает запись и возвращает её. Если достигнут конец потока, возвращается ``None``. Вот как можно использовать эту функцию:

.. code-block:: c++

  // TO BE DONE

Обратите внимание, что функция принимает любой вид текстового потока: не только файл, но и сокет, консоль, массив символов в оперативной памяти и т. д.

**Функция WriteTextRecord**, обратная ``ReadTextRecord``, определена следующим образом:

.. code-block:: c++

  // TO BE DONE

В качестве аргумента она принимает текстовый поток, в который разрешена запись. Это может быть как файл, так и сокет, консоль, вообще любой объект, реализующий протокол текстового вывода. Вот как можно использовать данную функцию:

.. code-block:: c++

  // TO BE DONE

Формат ISO2709
==============

.. code-block:: c++

  // TO BE DONE

.. code-block:: c++

  // TO BE DONE
